pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
}

code.hljs {
  padding: 3px 5px;
}

/* 定义 CSS 变量 */
:root {
  /* 亮色模式变量 */
  --base00: #f7f3f7;
  --base01: #d8cad8;
  --base02: #ab9bab;
  --base03: #9e8f9e;
  --base04: #776977;
  --base05: #695d69;
  --base06: #292329;
  --base07: #1b181b;
  --base08: #ca402b;
  --base09: #a65926;
  --base0A: #bb8a35;
  --base0B: #918b3b;
  --base0C: #159393;
  --base0D: #516aec;
  --base0E: #7b59c0;
  --base0F: #cc33cc;
}

.dark {
  /* 暗黑模式变量 */
  --base00: #1b181b;
  --base01: #292329;
  --base02: #695d69;
  --base03: #776977;
  --base04: #9e8f9e;
  --base05: #ab9bab;
  --base06: #d8cad8;
  --base07: #f7f3f7;
}

/* 应用变量 */
.hljs {
  color: var(--base05);
  background: var(--base00);
}

.hljs::selection,
.hljs ::selection {
  background-color: var(--base02);
  color: var(--base05);
}

/* 其他样式规则 */
.hljs-comment {
  color: var(--base03);
}

.hljs-tag {
  color: var(--base04);
}

.hljs-subst,
.hljs-punctuation,
.hljs-operator {
  color: var(--base05);
}

.hljs-operator {
  opacity: 0.7;
}

.hljs-bullet,
.hljs-variable,
.hljs-template-variable,
.hljs-selector-tag,
.hljs-name,
.hljs-deletion {
  color: var(--base08);
}

.hljs-symbol,
.hljs-number,
.hljs-link,
.hljs-attr,
.hljs-variable.constant_,
.hljs-literal {
  color: var(--base09);
}

.hljs-title,
.hljs-class .hljs-title,
.hljs-title.class_ {
  color: var(--base0A);
}

.hljs-strong {
  font-weight: bold;
  color: var(--base0A);
}

.hljs-code,
.hljs-addition,
.hljs-title.class_.inherited__,
.hljs-string {
  color: var(--base0B);
}

.hljs-built_in,
.hljs-doctag,
.hljs-quote,
.hljs-keyword.hljs-atrule,
.hljs-regexp {
  color: var(--base0C);
}

.hljs-function .hljs-title,
.hljs-attribute,
.ruby .hljs-property,
.hljs-title.function_,
.hljs-section {
  color: var(--base0D);
}

.hljs-type,
.hljs-template-tag,
.diff .hljs-meta,
.hljs-keyword {
  color: var(--base0E);
}

.hljs-emphasis {
  color: var(--base0E);
  font-style: italic;
}

.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-meta .hljs-string {
  color: var(--base0F);
}

.hljs-meta .hljs-keyword,
.hljs-meta-keyword {
  font-weight: bold;
}